<?php
/**
 * Created by PhpStorm.
 * User: zhangligang
 * Date: 2018/4/9
 * Time: 上午1:01
 */

if (! function_exists('csrf_token')) {
    /**
     * Get the CSRF token value.
     *
     * @return string
     *
     * @throws \RuntimeException
     */
    function csrf_token()
    {
        $session = app('session');

        if (isset($session)) {
            return $session->token();
        }

        throw new RuntimeException('Application session store not set.');
    }
}

if (! function_exists('request')) {
    /**
     * Get an instance of the current request or an input item from the request.
     *
     * @param  array|string  $key
     * @param  mixed   $default
     * @return \Illuminate\Http\Request|string|array
     */
    function request($key = null, $default = null)
    {
        if (is_null($key)) {
            return app('request');
        }

        if (is_array($key)) {
            return app('request')->only($key);
        }

        return data_get(app('request')->all(), $key, $default);
    }
}

if (! function_exists('local_date')) {
    function local_date($date, $format = 'Y-m-d')
    {
        return date($format, strtotime($date));
    }
}

if (! function_exists('get_date_hour')) {
    function get_date_hour($date = null) {
        if (!$date) {
            $date = time();
        }
        $s = explode(' ', date('Y-m-d H:i:s', $date));
        $s1 = explode(':', $s[1]);
        return $s1[0];
    }
}

if (! function_exists('friendly_date')) {
    function friendly_date($date) {
        $today = strtotime(date('Y-m-d'));
        $time = strtotime($date);
        $out = $today - $time;
        if ($out < 0) {
            return '今天';
        }
        $out = (int)($out / (24 * 3600));
        if ($out >= 1000) {
            return '很久前';
        }
        if ($out >= 730) {
            return '2年前';
        }
        if ($out >= 365) {
            return '1年前';
        }
        if ($out >= 180) {
            return '半年前';
        }
        if ($out >= 150) {
            return '5个月前';
        }
        if ($out >= 120) {
            return '4个月前';
        }
        if ($out >= 90) {
            return '3个月前';
        }
        if ($out >= 60) {
            return '2个月前';
        }
        if ($out >= 30) {
            return '1个月前';
        }
        if ($out >= 6) {
            return '1周前';
        }
        if ($out === 0) {
            return '昨天';
        }
        if ($out === 1) {
            return '前天';
        }
        if ($out === 2) {
            return '3天前';
        }
        if ($out === 3) {
            return '4天前';
        }
        if ($out === 4) {
            return '5天前';
        }
        if ($out === 5) {
            return '6天前';
        }
        return '今天';
    }
}

if (! function_exists('age')) {
    function age($birthday) {
        return (int)((time() - strtotime($birthday)) / (3600 * 24 * 365));
    }
}

if (! function_exists('gender')) {
    function gender($gender) {
        switch ($gender) {
            case 0: return '未知';
            case 1: return '男';
            case 2: return '女';
            case 3: return '保密';
        }
        return '保密';
    }
}


if (! function_exists('education')) {
    function education($education) {
        switch ($education) {
            case 0: return '';
            case 1: return '高中';
            case 2: return '高职';
            case 3: return '专科';
            case 4: return '本科';
            case 5: return '硕士';
            case 6: return '博士';
            case 7: return '其他';
            default:return '';
        }
    }
}

if (! function_exists('degree')) {
    function degree($education) {
        switch ($education) {
            case 0: return '';
            case 1: return ' 学士学位';
            case 2: return '硕士学位';
            case 3: return '博士学位';
            case 4: return '其他';
            default:return '';
        }
    }
}

if (! function_exists('nation')) {
    function nation($nation) {
        switch ($nation) {
            case 1 : return '汉';
            case 2 : return '壮族';
            case 3 : return '满族';
            case 4 : return '回族';
            case 5 : return '苗族';
            case 6 : return '维吾尔族';
            case 7 : return '土家族';
            case 8 : return '彝族';
            case 9 : return '蒙古族';
            case 10: return '藏族';
            case 11: return '布依族';
            case 12: return '侗族';
            case 13: return '瑶族';
            case 14: return '朝鲜族';
            case 15: return '白族';
            case 16: return '哈尼族';
            case 17: return '哈萨克族';
            case 18: return '黎族';
            case 19: return '傣族';
            case 20: return '畲族';
            case 21: return '傈僳族';
            case 22: return '仡佬族';
            case 23: return '东乡族';
            case 24: return '高山族';
            case 25: return '拉祜族';
            case 26: return '水族';
            case 27: return '佤族';
            case 28: return '纳西族';
            case 29: return '羌族';
            case 30: return '土族';
            case 31: return '仫佬族';
            case 32: return '锡伯族';
            case 33: return '柯尔克孜族';
            case 34: return '达斡尔族';
            case 35: return '景颇族';
            case 36: return '毛南族';
            case 37: return '撒拉族';
            case 38: return '布朗族';
            case 39: return '塔吉克族';
            case 40: return '阿昌族';
            case 41: return '普米族';
            case 42: return '鄂温克族';
            case 43: return '怒族';
            case 44: return '京族';
            case 45: return '基诺族';
            case 46: return '德昂族';
            case 47: return '保安族';
            case 48: return '俄罗斯族';
            case 49: return '裕固族';
            case 50: return '乌孜别克族';
            case 51: return '门巴族';
            case 52: return '鄂伦春族';
            case 53: return '独龙族';
            case 54: return '塔塔尔族';
            case 55: return '赫哲族';
            case 56: return '珞巴族';
            default:return '汉';
        }
    }
}

if (! function_exists('work_job')) {
    function work_job($type, $code) {
        if ($type == 0 || $code == 0) {
            return '';
        }
        if ($type == 1) {
            switch ($code) {
                case 2: return '管理类二级';
                case 3: return '管理类三级';
                case 4: return '管理类四级';
                case 5: return '管理类五级';
                case 6: return '管理类六级';
                case 7: return '管理类七级';
                case 8: return '管理类八级';
                case 9: return '管理类九级';
                default: return '管理类二级';
            }
        } else {
            switch ($code) {
                case 3: return '技工类三级';
                case 4: return '技工类四级';
                case 5: return '技工类五级';
                case 6: return '技工类六级';
                case 7: return '技工类七级';
                case 8: return '技工类八级';
                case 9: return '技工类九级';
                case 10: return '技工类十级';
                case 11: return '技工类十一级';
                case 12: return '技工类十二级';
                default: return '技工类三级';
            }
        }
    }
}

if (! function_exists('professional_title')) {
    function professional_title($code) {
        switch ($code) {
            case 0: return '';
            case 1: return '正高级';
            case 2: return '副高级';
            case 3: return '中级';
            case 4: return '初级';
            default: return '';
        }
    }
}

if (! function_exists('marriage')) {
    function marriage($code) {
        switch ($code) {
            case 1: return '未婚';
            case 2: return '已婚';
            case 3: return '离异';
            case 4: return '丧偶';
            default: return '未婚';
        }
    }
}

if (! function_exists('get_role_name')) {
    function get_role_name($role)
    {
        switch ($role) {
            case 1 : return '教师';
            case 2 : return '人事处';
            case 3 : return '计财处';
            case 4 : return '资产管理处';
            case 5 : return '超级管理员';
        }
    }
}

if (! function_exists('at_swoole_server')) {
    function at_swoole_server($address, $port) {
        return new swoole_server($address, $port);
    }
}